ContinueWhenAll Method (Task[], Func(Task[], TResult), TaskContinuationOptions)

Task Parallel System.Threading

Creates a continuation Task that will be started upon the completion of a set of provided Tasks.

Namespace:  System.Threading.Tasks
Assembly:  System.Threading (in System.Threading.dll)

Syntax

Visual Basic (Declaration)
Public Function ContinueWhenAll ( _
	tasks As Task(), _
	continuationFunction As Func(Of Task(), TResult), _
	continuationOptions As TaskContinuationOptions _
) As Task(Of TResult)
C#
public Task<TResult> ContinueWhenAll(
	Task[] tasks,
	Func<Task[], TResult> continuationFunction,
	TaskContinuationOptions continuationOptions
)

Parameters

tasks
Type: array< System.Threading.Tasks..::.Task >[]()[]
The array of tasks from which to continue.
continuationFunction
Type: System..::.Func<(Of <(array< Task >[]()[], TResult>)>)
The function delegate to execute when all tasks in the tasks array have completed.
continuationOptions
Type: System.Threading.Tasks..::.TaskContinuationOptions
The TaskContinuationOptions value that controls the behavior of the created continuation Task.

Return Value

The new continuation Task.

Remarks

The NotOn* and OnlyOn* TaskContinuationOptions, which constrain for which TaskStatus states a continuation will be executed, are illegal with ContinueWhenAll.

Exceptions

ExceptionCondition
System..::.ArgumentNullExceptionThe exception that is thrown when the tasks array is null.
System..::.ArgumentNullExceptionThe exception that is thrown when the continuationFunction argument is null.
System..::.ArgumentExceptionThe exception that is thrown when the tasks array contains a null value.
System..::.ArgumentExceptionThe exception that is thrown when the tasks array is empty.
System..::.ArgumentOutOfRangeExceptionThe exception that is thrown when the continuationOptions argument specifies an invalid TaskContinuationOptions value.
System..::.ObjectDisposedExceptionThe exception that is thrown when one of the elements in the tasks array has been disposed.

See Also